home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 896 b | 42 lines |
- 10 ' **********************
- 20 ' ** KALEIDOS **
- 30 ' **********************
- 40 '
- 50 CLEAR
- 60 SCREEN 0,0,0,0
- 70 WIDTH 40
- 80 KEY OFF
- 90 CLS
- 100 GOSUB 400
- 110 FGD = INT(RND * 16)
- 120 CHAR$ = CHR$(219)
- 130 LOCATE 1,1,0
- 140 '
- 150 ' Main loop starts here
- 160 IF RND < 0.1 THEN FGD = INT(RND * 16)
- 170 COLOR FGD
- 180 X = INT(40 * RND + 1)
- 190 Y = INT(23 * RND + 1)
- 200 DX = INT(3 * RND - 1)
- 210 DY = INT(3 * RND - 1)
- 220 IF DX = 0 THEN 200
- 230 IF DY = 0 THEN 200
- 240 IF X < 1 OR X > 40 THEN 160
- 250 IF Y < 1 OR Y > 23 THEN 160
- 260 GOSUB 330
- 270 X = X + DX
- 280 Y = Y + DY
- 290 GOTO 240
- 300 '
- 310 ' Subroutine, put color squares in four
- 320 ' symmetrical places on screen
- 330 LOCATE Y,X : PRINT CHAR$;
- 340 LOCATE Y,41-X : PRINT CHAR$;
- 350 LOCATE 24-Y,X : PRINT CHAR$;
- 360 LOCATE 24-Y,41-X : PRINT CHAR$;
- 370 RETURN
- 380 '
- 390 ' Subroutine, reset random number sequence
- 400 RANDOMIZE VAL(MID$(TIME$,4,2) + RIGHT$(TIME$,2))
- 410 RETURN
-